1. Field of the Invention
The present invention is related to the field of high speed modems for use in telecommunications. More specifically, the present invention is related to a modem comprised entirely of digital components. No analog to digital (A/D) or digital to analog (D/A) converters are utilized by the modem of the present invention when modulating or demodulating data transmitted to or received from a digital transmission medium, thereby increasing performance while decreasing cost of the modem. Additionally, a DSP-based embodiment of the modem of the present invention may be dynamically configured by downloading a software image.
2. Description of the Related Art
With respect to FIG. 1A, a traditional telecommunications path is illustrated over which a computer such as Personal Computer (PC) 100 communicates with another computer such as PC 160. The communication utilizes the Public Switched Telephone Network (PSTN) as may be necessary with communication between computers that are separated by a distance greater than can be accommodated by present Local Area Network (LAN) technology. The computers may communicate with each other as part of a client-server network, or to exchange electronic mail, or the like.
PC 100 is shown connected to a MOdulator/DEModulator (modem) 110 over line 170. Line 170 is typically an asynchronous link, e.g., an RS-232 line that transmits and receives data as a digital signal 160 as indicated in FIG. 1A. Modem 110 converts the digital signal 160 originating from PC 100 to an analog signal 161 for transmission over analog line 171, commonly referred to as a "local loop". In this particular example, modem 110 is external to PC 100. However, it is understood that modem 110 may be internal to PC 100, in which case, line 170 is unnecessary. In either case, modem 110 operates in the same manner. Likewise, PC 160, line 175 and modem 150 function in the same manner as described for PC 100, line 170 and modem 110, to provide analog signal 163 for transmission over line 174, the analog local loop with respect to PC 160.
Analog Transmission over the Local Loop
A computer, just like a telephone, is commonly connected to a Central Office Exchange (CO) over a "local loop". This local loop is commonly a single pair of wires that transmits and receives voice or data transmissions in the form of an analog signal. For example, PC 100 transmits a digital signal 160 containing data to modem 110, which converts the digital signal to an analog signal 161 for transmission over analog line 171. Line 171 represents a local loop between PC 100/modem 110 and CO 120.
While the local loop today carries voice and data transmissions, it originally carried only voice transmissions. Voice signals are, of course, characterized by an analog, not digital, waveform of varying amplitude and frequency. Voice frequency bandwidth, i.e., voiceband, is approximately 4000 Hz, but the frequency band actually passed in the telephone network is in the 300 Hz to 3000 Hz range, which is adequate for the human ear to recognize basic qualities associated with speech such as voice recognition, intonation, emotion, etc. This frequency range was chosen as a compromise-increasing the frequency range results in better voice quality, but at a greater expense. Hence, the local loop was initially designed to transmit analog signals of limited bandwidth.
Virtually every home or small business initially transmitted voice information as an analog signal over a local loop comprised of a twisted wire pair to a local telephone company's CO. Presently, particularly in metropolitan areas, the pair of wires comprising the local loop is being replaced by a transmission medium, e.g., wire, fiber optic or radio, capable of transmitting voice and data as a digital signal. However, the local loop portion of the worldwide telecommunications infrastructure remains overwhelmingly analog. Thus, there is an ongoing need for modems to convert from digital to analog signals when transmitting data over the local loop or to convert from analog to digital signals when receiving data over a local loop.
While the local loop remains mostly analog, the switching systems in the central office and transmission lines in the PSTN are commonly digital. Thus, a brief review of CO systems and digital transmission systems utilized in the PSTN, such as T1, is useful for an understanding of the present invention.
Digital Transmission over the PSTN
A Central Office (CO) is a switching system operated by a local phone company for connecting, maintaining and releasing a local call between two devices, such as telephones, facsimile machines, or modems, within the geographical area managed by the local office. A toll, or long distance connection between devices in different cities or states, however, requires utilization of the Public Switched Telephone Network (PSTN). For example, given a scenario in which telephones are located in different cities or states managed by separate COs, the PSTN provides an interconnection between the COs so that the telephones can establish a toll call for voice transmission between them. While a local loop transmits a single local call at a time, the PSTN multiplexes multiple toll calls at the same time over the same transmission medium utilizing, for example, a time division multiplexing (TDM) technique, to improve the efficiency of the PSTN.
Additionally, digital transmission techniques are often utilized to further enhance the performance and efficiency of the PSTN. As a result, analog signals transmitted by a telephone over the local loop to a local central office are generally converted to digital signals and coded, for example, using Pulse Code Modulation (PCM) techniques, at the local central office before being transmitted over the PSTN. The digital signals may then be decoded and converted back to analog signals at a receiving central office to recover the voice transmission before being transmitted over another analog local loop to a receiving telephone. Thus, a central office utilizes a COder/DECoder (CODEC) to convert analog signals received from an attached local loop to an encoded digital data stream for transmission over the PSTN.
Likewise, a CODEC in the receiving CO decodes the encoded digital data stream received from the PSTN into analog signals for transmission over the local loop. As will be discussed below, if the local loop to which a receiving telephone is connected is capable of carrying digital transmissions, the digital signals need not be converted back to analog signals at the receiving central office, but may be transmitted as digital signals until converted to analog signals at the receiving telephone.
Analog to Digital/Digital to Analog Conversion
Given that the local loop portion of the telephone network is generally analog and the PSTN portion is generally digital, the need for analog to digital and digital to analog signal conversion at the CO is readily apparent. For example, with respect to FIG. 1A, digital signals 160 representing data transmitted from PC 100 must be converted to analog signals 161 at modem 110. At CO 120, the analog signals are converted to digital signals 162 for transmission over PSTN 130. Again at CO 140, the digital signals are converted to analog signals 163 and transmitted to modem 150, where the analog signals are converted yet again to digital signals 164 for transmission to PC 160.
Recall that human speech produces an analog waveform of varying amplitude within a frequency range of 0 to 4000 Hz. To convert an analog signal with sufficient accuracy to a digital signal for transmission over a digital line requires sampling the analog signal at the Nyquist rate, that is, at a rate of at least twice that of the greatest frequency bandwidth of the analog signal, according to the well known Nyquist theorem. As discussed above, the voice channel bandwidth is approximately 4000 Hz. Thus, a sampling rate of 8000 samples per second is necessary to convert an analog signal in the voice channel bandwidth to a digital signal. Many methods for sampling analog signals exist in the prior art, including Pulse Code Modulation (PCM), briefly reviewed below.
Pulse Code Modulation Techniques
Pulse Code Modulation (PCM) samples an analog signal over a period of time and converts the sample to a number selected from a range of numbers, which number most closely approximates the amplitude of the sample. More specifically, a sample of an analog signal is taken over a certain period of time, e.g., 0.125 milliseconds for a signal sampled at a rate of 8000 times per second. The sample, in turn, is converted to a number assigned to represent a sample whose amplitude falls within a defined range of amplitudes. The process of approximating the sample with a number is known as quantization. The range of amplitudes within which a sample falls is known as the quantization interval. The difference between the actual amplitude value of the sample and the number representing the quantization interval between which the sample falls is known as quantization error.
An encoder, or simply coder, at the central office samples an analog signal, quantizes the sample into a number, and then codes the number into a series of bits representing the number. Typically, a limited number of bits, e.g., eight, are utilized to represent the number. Eight bits per quantized number multiplied by 8000 samples per second produces a bit rate of 64000 bits per second (bps). Thus, a CO samples, quantizes and codes an analog signal received over the local loop into a 64000 bps PCM signal for transmission over the PSTN. Likewise, a decoder in the CO receiving the PCM signal decodes it and converts the decoded results back to analog signals for transmission over a local loop connected to the receiving device, e.g., a telephone. (The COder and DECoder in a CO are often part of the same Integrated Circuit (IC) in a CO, which IC is generally referred to as a CODEC.)
The quantization error introduced in the analog to digital conversion of a signal produces noise, which is often heard on a telephone receiver as a hissing sound in the voiceband. Reducing quantization noise is therefore desirable. By compressing the size of quantization intervals with respect to the analog signal such that quantization intervals are smaller for relatively small analog signals and larger for relatively large analog signals, quantization noise is reduced. Adjusting the quantization intervals in this manner results in compression of the quantized and coded signal. Accordingly, upon receiving a compressed PCM digital transmission, the decoder portion of the CODEC in a CO first expands the digital signal. Typically, a COMpressor/exPANDER (COMPANDER) unit in a CODEC compresses the PCM signal and expands the corresponding compressed PCM signal. To achieve interoperability in a public switched telephone network, CODECs adhere to a standard for compressing and expanding a PCM digital signal such as the well known -law or "mu-law" compander (U.S.) or A-law compander (Europe) standards.
T1 Digital Transmission
As discussed above, voice and/or data signals are typically transmitted over the local loop as analog signals and received by a local Central Office (CO), where they are sampled, quantized, and coded into digital signals according to a modulation technique such as the companded PCM digital coding technique. As a result, the digital signals can be transmitted over the PSTN at much higher frequencies such that multiple digital signals can be time division multiplexed over a single transmission medium, e.g., a T1 line (in the U.S., or E1 line in Europe). Each signal is commonly referred to as a channel.
A T1 line is capable of transmitting 24 multiplexed digital channels ("DSOs") plus 8000 bits of framing information per second. The framing information concerns where each DS0 starts and stops in the T1 bit stream. Recall from the above discussion that each PCM digital signal transmits 64000 bits per second. 24 channels multiplied by 64000 bits per second plus 8000 bit per second for framing information equals 1.544 Mbps. Thus, a T1 line must be capable of transmitting data at a maximum rate of 1,544,000 bits per second (1.544 Mbps). Additional digital transmission systems such as T3, D4, ESF (Extended Superframe) operate on similar principles as the T1 line and offer similar or greater advantages.
Central Office Systems
As discussed above, the central office typically receives an analog signal from the local loop and converts it to a digital signal such as a compressed PCM digital signal for transmission over the PSTN. For example, with reference to FIG. 1A and 1B, central office 120 receives an analog signal 161 from modem 110 over the local loop represented by line 171. CO 120 receives the analog signal at local loop interface 120a, which provides battery, voltage protection, ringing, supervision and other functions related to interfacing with the local loop. As is well known in the art, hybrid 120b receives the analog signal from local loop interface 120a and performs two wire to four wire conversion for transmission of the signal over longer distances. Before the analog signal an can be sampled by CODEC 120d, it first passes through a band pass filter 120c1 to ensure the proper frequency range, e.g., 300 Hz to 3000, is sampled.
A coder subsystem 120d1 of CODEC 120d then converts and compresses the analog signal received from bandpass filter 120c1 to a compressed PCM digital signal 162 appropriate for transmission over a channel in a T1 transmission system 172 or the like through PSTN 130. Similarly, decoder subsystem 120d2 of CODEC 120d converts and expands a compressed PCM digital signal 162 received from a channel of T1 transmission system 172 to an analog signal, which is then smoothed at filter 120c2 before being transmitted over hybrid 120b and local loop interface 120a to the local loop 171. Importantly, quantization error occurs only in the analog to digital conversion process performed by CODEC 120d when the analog signal received from the local loop is approximated, i.e., quantized. No further quantization error occurs, however, when converting the digital signal received from the PSTN to an analog signal.
Digital Local Loop
Analog modems are necessarily utilized to convert digital signals received from an attached device such as a PC to analog signals for transmission over an analog local loop to the central office. Conversely, analog modems are utilized to convert analog signals received over the analog local loop to digital signals for transmission to an attached device such as a PC. Analog modems use various standard modulation and demodulation techniques to perform the conversion (e.g., V.22bis, V.32bis). However, analog modems inefficiently utilize the telecommunications network since they transmit analog data at, for example, 14,400 bits per second over the local loop, yet each local loop is assigned to a DS0 capable of transmitting a digital version of the data at 64,000 bits per second from the central office over the PSTN.
V.32 modems are capable of bit rates up to 57,600 bits per second using 4:1 data compression, but data compression is not always possible depending on the data being compressed and/or the line quality of the local loop. Using advanced signal processing techniques, V.34 modems can theoretically achieve bits rates of up to 33,600 bits per second. However, as a practical matter, such modems generally provide significantly slower bits rates of 21,600 to 28,800 bits per second under typical line conditions. Additionally, CODECs are employed at the CO to convert analog signals received over an attached local loop to digital signals for transmission over the PSTN. The conversion results in quantization error as described above. A local loop capable of carrying digital signals removes the need for CODECs at the Central Office, and avoids the quantization error otherwise induced by the CODEC in converting analog signals to digital signals.
Thus, the analog local loop is increasingly being replaced by a digital local loop, particularly where the device attached at the end of the loop opposite the central office is a computing device such as a server, mainframe computer, or switch, providing access to online services or the like for multiple clients. The modem connecting the computing device to the digital local loop is a "digital modem". However, the so-called digital modem is essentially a standard modem that converts analog signals otherwise transmitted over an analog local loop into a digital data stream for transmission over a digital local loop.
In such cases, a digital signal received at the central office from the PSTN does not need to be expanded and converted to analog before it is transmitted over the digital local loop to a destination computing device. Rather, the digital signal passes unchanged through the CO to the destination device. Under these circumstances, the CODEC and filtering functions typically performed at the CO necessarily migrate from the CO to the destination device or digital modem connected to or incorporated as part of the destination device. As with the CO, however, the prior art CODEC comprises analog components that induce quantization error as the digital signal received from the CO over the digital local loop is converted to analog and back to digital to recover the data transmitted by the device at the other end of the end-to-end connection.
For example, FIG. 2A illustrates a PC 100 capable of communicating with computing device 220 (which is perhaps a server, mainframe computer, or another PC) over a PSTN 130 and a Local Area Network or Wide Area Network (LAN/WAN) 212. PSTN 130 and LAN/WAN 212 are communicatively coupled via a Remote Access Server (RAS) 210. A modem 110 (not shown) is internal to PC 100, which is connected to a local CO 120 over an analog local loop represented by line 171. A digital data stream 160 generated by PC 100 is converted to analog signals 161 via the internal modem before being sent over analog line 171 to CO 120. A CODEC within CO 120 converts the analog signals into compressed PCM digital signals 262 for transmission over, e.g., a T1 channel in PSTN 130. The compressed PCM digital signals are received at a remote CO 140 and transmitted unchanged over line 211 to RAS 210. At RAS 210, the compressed PCM digital signals are expanded and then converted to analog signals 265 as an intermediate step performed by a modem associated with RAS 210 (not shown) to recover the original data transmitted by PC 100 over local loop 171. The conversion to analog signals is an intermediate step because the data stream is then converted by the modem to digital signals 266 for transmission over LAN/WAN 212 to computing device 220. Line 211 is a digital local loop utilizing, e.g., an Integrated Services Digital Network (ISDN) or T1 transmission system. Thus, while the CODEC functionality remains with CO 120, because line 211 between RAS 210 and CO 140 provides for digital signal transmission, the CODEC functionality migrates to a modem utilized by RAS 210.
Interestingly, a modem such as utilized by RAS 210 in FIG. 2A is known as a digital modem because it transmits and receives digital signals in both directions, notwithstanding that it performs intermediate digital to analog (D/A) and analog to digital (A/D) conversions necessary for interpolation from a digital signal of one format, e.g., companded PCM digital signals, to a digital signal of another format, e.g., Manchester encoded digital signals as may be utilized in an IEEE 802.3 LAN or the like. As a result of the analog to digital conversion, quantization error still occurs at RAS 210 (in addition to the quantization error that occurred at CO 120 in converting the received analog signals to a digital signals), even though both lines 211 and 212 are digital transmission lines.
The communication network illustrated in FIG. 2A is one example of the use of a digital local loop 211 and so-called digital modem. While the digital local loop initially replaced the analog local loop between the CO and a server of an Internet Service Provider (ISP) or mainframe computer in a corporate intranet, increasingly, homes, home offices and small businesses have installed a digital ISDN line for digital transmission of data over the local loop to a client or PC. For example, a home office may have a PC that exchanges data with, and particularly, downloads extensive amounts of data from computing device 220 using online services such as Prodigy or CompuServe, the Internet, the World Wide Web (WWW) graphical portion of the Internet, a corporate intranet, or the like. In such case, a digital line such as an ISDN line and an ISDN compatible modem replaces analog line 171 and internal modem 110 to achieve faster response times and data throughput between PC 100 and computing device 220. The ISDN modem at PC 100, just like the so-called digital modem in RAS 210 of FIG. 2A, comprises filtering and CODEC systems for expanding and converting a compressed PCM digital bit stream received over the ISDN line to analog signals to recover the data transmitted from computing device 220. Utilization of the ISDN line avoids the necessity for filtering and CODEC systems at CO 120. However, due to the analog components in the prior art ISDN modem, quantization error is still introduced by the D/A and A/D conversion performed by the ISDN modem in recovering the data transmitted from computing device 220. What is needed is a truly fully digital modem capable of receiving a digital data stream of one format and converting it to a digital data stream of another format without performing the intermediate steps of D/A and A/D conversion.
Interestingly, in the prior art, this conversion of the data from digital signals to analog signals occurs regardless of whether the data was ever transmitted as analog signals over any portion of the end-to-end connection from computing device 220 to PC 100. The conversion occurs because the digital modem in or associated with PC 100 is unable to ascertain over what transmission media the data traveled, and whether that media supported analog or digital transmission of data. In other words, the digital modem is unable to ascertain if the data was transmitted as analog signals at any point in along the end-to-end connection. Moreover, the digital modem associated with PC 100 is further unable to ascertain whether the data was converted from digital-to-analog and analog-to-digital by the analog components of a so-called digital modem at some point between the computing device 220 and the modem associated with PC 100, e.g., at the digital modem associated with RAS 210. Therefore, it must be assumed that analog transmission occurred at some point in the telecommunications network, given the historical and ubiquitous nature of the analog local loop and analog components in the central office. In other words, it must be assumed that the digital signal received at the digital modem is merely an approximation of an analog signal. However, because PC 100 communicates and processes data according to a digital format, the recovered analog signals are converted by the so-called digital modem associated with the PC to a digital format appropriate for the PC.
With respect to FIG. 2B, RAS 210 comprises a modem bank 230. Modem bank 230 may be implemented on a single printed circuit board, and thus, may also be referred to as a modem card. Modem bank 230, in turn, comprises a number of prior art so-called digital modems, e.g., modems 230a-230d, each respectively connected to a separate DS0 channel 225-228 to receive a compressed PCM digital bit stream from T1 line 211. T1 Data Service Unit/Communication Service Unit (DSU/CSU) 215 receives time division multiplexed digital transmissions from T1 line 211 and forwards the transmissions to multiplexer 220 which demultiplexes the transmissions into the 24 channels defined by the separate DS0s. Alternately, each modem receives a digital data stream from a computing device such as computing device 220 connected to LAN/WAN 212 and forwards the data stream to a DS0. The digital data stream is multiplexed in a TDM manner with the data streams received by the other DS0s from a corresponding modem and sent out the DSU/CSU interface and over T1 line 211. It should be noted that while the modem card is contained within RAS 210 in the prior art embodiment illustrated in FIG. 2B, the modem card may be separate from RAS 210.
According to one prior art implementation, modem bank 230 comprises up to 24 prior art digital modems each connected to a separate DS0. Each modem in the modem card is connected to an internal data bus 240 to which is connected to a controller 250 via line 248 and a network interface card 260 via line 249. Controller 250 manages access to bus 240 and stores and downloads appropriate software to each of the so-called digital modems in modem card 230. Additionally, controller 250 provides a user interface for configuring RAS 210 and performing other well known tasks associated with transmitting and receiving data over a telecommunications network such as data compression, error correction, etc. Controller 250 may also be responsible for upper-layer protocol functions and communication associated with LAN/WAN 212, e.g., routing, flow control, network management, and transmitting and receiving data packets over LAN/WAN 212 via Network Interface Card (NIC) 260.
When a modem in modem card 230 has received data from its corresponding T1 channel and is ready to transmit the data to LAN/WAN 212, controller 250 provides the modem with access to internal data bus 240, at which time the data is transmitted over bus 240 to NIC 260. NIC 260 typically encapsulates the data in packets with upper-layer protocol header/trailer information and then transmits it over line 261 to LAN/WAN 212 in accordance with the protocols for communication over LAN/WAN 212, e.g., the IEEE 802.3 Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Media Access Control (MAC) protocol and Transport Control Protocol/Internet Protocol (TCP/IP) suite of protocols commonly utilized for baseband communication over a Local Area Network (LAN).
As shown in FIG. 3, a prior art so-called digital modem 230a further comprises filtering and CODEC systems for expanding and converting the compressed PCM digital bit stream received from the corresponding T1 channel to analog signals regardless of whether the data transmitted from PC 100 over its local loop was in the form of analog or digital signals. In any case, because LAN/WAN 212 utilizes a digital transmission medium, the modem converts the analog signals to a digital format appropriate for communication with computing device 220 over LAN/WAN 212.
With further reference to FIG. 3, digital-to-Analog Converter (DAC)/expander 345 receives compressed PCM digital signals from DS0 225, expands and decodes the signals, and converts the signals to analog format. The analog signals are then sent to bandpass filter 350 for smoothing before being converted back to digital signals at Analog-to-Digital Converter (ADC) 355. Receiver 360 buffers the digital signals before they are transmitted on internal data bus 240 where they will be received by controller 250 and/or transmitted out NIC 260 to LAN/WAN 212.
A similar process occurs when receiving a digital data stream from LAN/WAN 212 for transmission over the PSTN via T1 line 211. Data packets are received by NIC 260 from LAN/WAN 212 and placed on internal data bus 240. Controller 250 receives the data packets, decapsulates upper-layer protocol headers/trailers from the data packets if necessary, allocates a modem in modem bank 230 and corresponding DS0, and transmits the digital data stream corresponding to the decapsulated data over bus 240 to the modem, e.g., prior art digital modem 230a. Modem 230a receives the digital data stream in transmit buffer 340 before it is sent to DAC 335 for conversion to analog signals. Before the signals are converted to digital and compressed by ADC/compressor 325, low pass filter 330 filters frequencies above, e.g., 4000 Hz from the analog signals so that ADC/compressor 325 samples the signals properly and accurately.
As discussed above, the prior art so-called digital modems incorporate analog components, which are relatively expensive, large, and slow, compared to digital circuitry. Additionally, the conversion of digital signals to analog and back to digital introduces quantization error into the transmitted data, even if all communication links over which the data is transmitted are digital, and in addition to any quantization error already present in the data as a result of conversion from an analog signal to a digital signal, for example, at an analog local loop/CO interface. Thus, what is needed is a fully digital modem that receives a digital signal of a first format and converts the digital signal to a digital signal of a second format using all digital circuitry and techniques.